var searchIdxxx=0;
$.fn.extend({	
	
	createSearch:function(options){
		
		/*
		功能：创建搜索模块入口，主要调用createTable()完成输出
		参数：
		详细见：
		createForm()
		*/
	
	var defaults={
		tbId:'searchForm',
		callBack:null,
		searchMethod:null,
		title:[],
		content:[],
		hidden:[],
		sendBtnId:'searchIdxxx'+searchIdxxx,
		align:'',
		width:'',
		ajaxSend:false
	};
	var settings = jQuery.extend({}, defaults, options);//合并defaults 和 options 不修改 defaults
	var sLength = settings.title.length;
	//alert(sLength);
	
	//对settings.title过滤
	var sendBtnId=settings.sendBtnId;
	
	//alert(settings.searchMethod)
	if(sLength>2)
		{
			var sTitle = [];	
			sTitle[0] = settings.title[0];
			var temp2 = [];
			for(i=1;i<sLength;i++)
			{
				temp2.push(settings.title[i]);
			}
			sTitle[1] = temp2;
			
			settings.title = sTitle;
		}
	else if(sLength==2)
		{
			if(!jQuery.isArray(settings.title[1]))
			{
				var temp2 = [];
				temp2.push(settings.title[1]);
				settings.title[1] = temp2;
			}
		}
	else if(sLength<2)
		{
			return;
		}
		
	$.each(settings.content,function(k,n){
		
	
	//对	settings.content过滤
//alert(n+"---n");alert(k+"---k");	 alert(settings.content+"--settings.content");	var cLength = n.length;	
var cLength =0;  
if(n !=null){
	cLength=n.length;
   }
	if(cLength>2)
	{
		var temp2 = [],temp3=[];
		temp2[0] = n[0];
		
		
		for(i=1;i<cLength;i++)
			{
				temp3.push(n[i]);
			}
		temp2[1] = temp3;
		settings.content[k] = temp2;
		
		//alert(settings.content[i].toString())
	}
	else if(cLength==2)
	{
		if(!jQuery.isArray(n[1]))
			{
				var temp2 = [],temp3=[];
				temp2[0]= n[0];
				temp3.push(n[1]);
				temp2[1] = temp3;
				settings.content[k] = temp2;
			}
	}
	
		});
		//alert($('#'+settings.sendBtnId).length);
		
		//alert($('button[id="'+settings.sendBtnId+'"]').length);
		
	var searchButton =[{type:'button',cls:'searchBtn',id:sendBtnId,onclick:settings.searchMethod}];//搜索按钮
	searchIdxxx+=1;
	
	if(settings.content.length>0)//自动判断是否有高级搜索
	{
		
		var searchButton2 =[ '<a href="javascript:;" class="advancedSearch">高级搜索</a>'];
		$.merge(searchButton,searchButton2);
	//alert(settings.title.length)
	
	
	var searchShow = function(){
		
 		
		var tbody=jQuery(_this).find("tbody:eq(0)");
		
		var thisform = tbody.parents('form:first');
		var _form = thisform[0];
	 	//_form.reset();
		
		
		var _els = []; //高级搜索区域的内容
		var _arr = [];//需要存储的input控件
		//alert(tbody.length)
		
		tbody.hide();
		jQuery(_this).find(".advancedSearch").toggle(function(){
	 	 jQuery(this).text("精简搜索");
		 
		 if(_els.length>0)//把原来高级搜索区域的值设回去
			{
				for(var ii=0,jj=_els.length;ii<jj;ii++)
				{
					_els[ii][0].val(_els[ii][1]);
				}
			}
		 
		 
		  tbody.show();
		  
		  _clearSearchBox(this);
		  
		  },
		  function(){
		   jQuery(this).text("高级搜索");
	 
		
	 
		_clearSearchBox(this);	//当切换为精简搜索时，复位隐藏框输入控件
		tbody.hide();
		  
		
		 if(thisform.length>0)
		 {
		 	var els = $(_form.elements);
		 	_arr.length = 0;
			_els.length = 0;
			$.each(els,function(i,n){
				var _obj = $(n)
				if(_obj.parents('tbody:first')[0]!=tbody[0])
				{
					
					//alert(n.value)
					
					_arr.push([_obj,_obj.val()]); //存储
					
				}
				else
				{
					_els.push([_obj,_obj.val()]); 
				}
				
			});

		//	_form.reset();
			if(_arr.length>0)
			{
				for(var i=0,j=_arr.length;i<j;i++)
				{
					_arr[i][0].val(_arr[i][1]);
				}
			}
			
			
		 }
		 else
		 {
		 	
			var _kinputs = tbody.find(":input");
			for(var k =0,k1=_kinputs.length;k<k1;k++)
			{
				_els.push([_kinputs.eq(k),_kinputs.eq(k).val()]); 
				_kinputs.eq(k).val('');
			}
			  
		  }});
		  
		 var callBack =  options.callBack;
		  
		  if(callBack!=undefined)//如果有回调函数，执行之 
			{
			  if(typeof(callBack)=="string"){//如果回调方法传入为字符串类型
				eval(callBack);		
				}else{
					callBack();
				}
			}
	};
	
	settings.callBack=searchShow;
	
	}
	
	$.merge(settings.title[1],searchButton);
	var _this = $(this);	
//	$.merge(settings.content,settings.hidden);
	
	//alert(settings.title[0].value)
		
	
	$("<div>",{"id":"search","class":"search"}).appendTo(_this).createTable(settings);
	
	

	//alert('d')
		
	},
	
	searchToggle:function(options){
		/*
		功能：精简搜索与高级搜索切换
		示例：
	<form id="myform">
  <!--搜索框-->
  <div id="search_block">
    <div class="search" id="search">
      <div id="search" class="search">
        <table width="" height="" border="0" align="" class="" id="searchForm">
          <thead>
            <tr>
              <th class="titleLabel"><label>布局编码：</label></th>
              <th><input type="text" parameter="{value:'请输入布局编码'}" class="mid" value="" name="layout.templateNo" id="layoutNo_search">
                <button class="searchBtn mid" onclick="clearPageNo(this);listLayoutComp();return false;" id="searchIdxxx0" type="button" value=""></button>
                <a class="advancedSearch" href="javascript:;">高级搜索</a></th>
            </tr>
          </thead>
          <tbody style="display: none;">
            <tr class="tr-01">
              <td class="titleLabel"><label>组件编码：</label></td>
              <td><input type="text" parameter="{value:'请输入组件编码'}" class="mid" value="" name="compInfo.no" id="compNo_search">
             </td>
            </tr>
          </tbody>
        </table>
      </div>
    </div>
  </div>
  <!--展示主数据-->
</form>
<script>
jQuery('.advancedSearch').searchToggle();
</script>
		*/
		var _form = $(this).parents('form')[0];
	 	//_form.reset();
		var tbody= $(this).parents('table:eq(0)').find('tbody:eq(0)');
		
		var _els = []; //高级搜索区域的内容
		var _arr = [];//需要存储的input控件
		//alert(tbody.length)
		
		tbody.hide();
		jQuery(this).toggle(function(){
	 	 jQuery(this).text("精简搜索");
		 
		 if(_els.length>0)//把原来高级搜索区域的值设回去
			{
				for(var ii=0,jj=_els.length;ii<jj;ii++)
				{
					_els[ii][0].val(_els[ii][1]);
				}
			}
		
		 
		  tbody.show();
		  
		  _clearSearchBox(this);
		  
		  },
		  function(){
		   jQuery(this).text("高级搜索");
		   	   
		_clearSearchBox(this);	//当切换为精简搜索时，复位隐藏框输入控件
		   tbody.hide();
		  
		
		 if(_form.length>0)
		 {
		 	var els = $(_form.elements);
		 	_arr.length = 0;
			_els.length = 0;
			$.each(els,function(i,n){
				var _obj = $(n);
				if(_obj.parents('tbody:first')[0]!=tbody[0])
				{
					
					//alert(n.value)
					
					_arr.push([_obj,_obj.val()]); //存储
					
				}
				else
				{
					_els.push([_obj,_obj.val()]); 
				}
				
			});

			//_form.reset();
			if(_arr.length>0)
			{
				for(var i=0,j=_arr.length;i<j;i++)
				{
					_arr[i][0].val(_arr[i][1]);
				}
			}
			
			
		 }
		 else
		 {
		 	
			var _kinputs = tbody.find(":input");
			for(var k =0,k1=_kinputs.length;k<k1;k++)
			{
				_els.push([_kinputs.eq(k),_kinputs.eq(k).val()]); 
				_kinputs.eq(k).val('');
			}
			  
		  }});
		
		
		
		
	},
createSearch2:function(options){
	var defaults={
		tbId:'searchForm',
		callBack:null,
		searchMethod:null,
		ajaxSend:false,
		title:[],
		content:[],
		hidden:[],
		sendBtnId:'searchButton',
		width:"auto" ,
		align:'',
		ajaxSend:false
		
	};
	
	var settings = jQuery.extend({}, defaults, options);//合并defaults 和 options 不修改 defaults
	var _this=$(this);
	
	
		var searchShow = function(){
		var tbody=jQuery(_this).find("tbody:eq(0)");
		
		var thisform = tbody.parents('form:first');
		var _form = thisform[0];
	 	//_form.reset();
		
		
		var _els = []; //高级搜索区域的内容
		var _arr = [];//需要存储的input控件
		//alert(tbody.length)
		
		tbody.hide();
		jQuery(_this).find(".advancedSearch").toggle(function(){
	 	 jQuery(this).text("精简搜索");
		 
		 if(_els.length>0)//把原来高级搜索区域的值设回去
			{
				for(var ii=0,jj=_els.length;ii<jj;ii++)
				{
					_els[ii][0].val(_els[ii][1]);
				}
			}
		
		 
		  tbody.show();
		  _clearSearchBox(this);
		  
		  
		  },
		  function(){
		   jQuery(this).text("高级搜索");
		   	   
		_clearSearchBox(this);	//当切换为精简搜索时，复位隐藏框输入控件
		   tbody.hide();
		  
		
		 if(thisform.length>0)
		 {
		 	var els = $(_form.elements);
		 	_arr.length = 0;
			_els.length = 0;
			$.each(els,function(i,n){
				var _obj = $(n)
				if(_obj.parents('tbody:first')[0]!=tbody[0])
				{
					
					//alert(n.value)
					
					_arr.push([_obj,_obj.val()]); //存储
					
				}
				else
				{
					_els.push([_obj,_obj.val()]); 
				}
				
			});

			//_form.reset();
			if(_arr.length>0)
			{
				for(var i=0,j=_arr.length;i<j;i++)
				{
					_arr[i][0].val(_arr[i][1]);
				}
			}
			
			
		 }
		 else
		 {
		 	
			var _kinputs = tbody.find(":input");
			for(var k =0,k1=_kinputs.length;k<k1;k++)
			{
				_els.push([_kinputs.eq(k),_kinputs.eq(k).val()]); 
				_kinputs.eq(k).val('');
			}
			  
		  }});
		  
		 var callBack =  options.callBack;
		  
		  if(callBack!=undefined)//如果有回调函数，执行之 
			{
			  if(typeof(callBack)=="string"){//如果回调方法传入为字符串类型
				eval(callBack);		
				}else{
					callBack();
				}
			}
	};
	
		var searchButton =[{type:'button',cls:'searchBtn',id:settings.sendBtnId,onclick:settings.searchMethod}];//搜索按钮
		if(settings.content.length>0){//自动判断是否有高级搜索
		var searchButton2 = '<a href="javascript:void(0);" class="advancedSearch">高级搜索</a>';
		searchButton.push(searchButton2);
		settings.callBack=searchShow;
	}
		
		settings.title[settings.title.length-1].push(searchButton);
		//settings.title.push(searchButton);
		$(this).createTable(settings);
	},
	
	uiCreateEditForm:function(options){
		
		/*
		功能：创建搜编辑模块入口，主要调用createForm()完成输出 本方法暂时仅做转发功能
		参数：
		详细见：
		createForm()
	   */
	  
	//if(!options.isNew&&options.details!=null&&options.details.length>0)判断是否是组织表
		//{}
	 //添加自动伸缩按钮	 
	 
	 
	var doHideTbody = function(o){
		var _this = $(o);
		var _table =  _this.find("table:eq(0)");
		var _thead = _table.find("thead:eq(0)");
		var _tfoot = _table.find("tfoot:eq(0)"); 
		var _tbody = _this.find('tbody:eq(0)');
		//alert(_thead.length)
		
		_thead.find('th').css({"background-color":"#f3f7fb","padding":"10px 0"}).attr("title","双击收缩");
		_tfoot.attr("title","双击收缩");
		//alert(_tfoot.find("th").size())
		_tfoot.dblclick(function(){
			doDblclick();
			
		});
		_thead.dblclick(function(){
			doDblclick();
			
		});
		var doDblclick = function(){
			
			var isLayOut = _thead.attr('isLayOut');
			if(isLayOut==undefined)
			{
				_thead.attr({'isLayOut':"yes"});
				var arrThs = _thead.find("th"); 			
				if(arrThs.length>0)
				{
				$.each(arrThs,function(i,n){
				$(n).width($(n).width());
				});
				}	
	
	
			}

			
			
			if(_tbody.is(':visible'))
			{
				_tbody.hide();	
				_tfoot.hide().attr("title","双击打开");		
				_thead.find("th").attr("title","双击打开");
				
				
			}
			else
			{
				_tbody.show();
				_tfoot.show().attr("title","双击收缩");
				_thead.attr("title","双击收缩");
			}
			
		};
		
		
		
	};
	
	var _this = $(this);
	var callBackFunc2 = options.callBack;
	
	//alert(callBackFunc2);
	options.callBack = function(){
		
		try{			
		
			if(callBackFunc2!=null){
			if(typeof(callBackFunc2)=="string"){
				eval(callBackFunc2);
					}else{
						callBackFunc2();
					}
				}
			}
			catch(e){
				//alert(e)
			}
				
		
		/*
		setTimeout(function(){
			
			_this.uiAddDetailList(options);
		},1000);
		*/
	  }
	//var aaa =  $("<div style='overflow:hidden;position:relative;left:0;top:0;border:1px solid #f00'></div>").appendTo(_this);
	$("<div class='formTableBox'></div>").appendTo(_this).createForm(options);
	
	
	if(!options.isNew&&options.details!=null&&options.details.length>0)//如果是组织表
		{
			
			
			//doHideTbody(_this);
			_this.uiAddDetailList(options);
			
		}
	
	},
	uiAddDetailList:function(options){
		var _this = $(this);
		
		var thisheight = 0;
		var _isDefault = false;//是否为第一次创建
						
		if($(window.parent.document).find("#"+$(this).attr('id')).length>0)
		{
			_this = $(window.parent.document).find("#"+$(this).attr('id'));
			
		}
		
		if(_this.parent(".editDiv:eq(0)").attr("thisheight")!=undefined)
		{
			thisheight = parseInt(_this.parent(".editDiv:eq(0)").attr("thisheight"));
		}
		
		
		var _formTableTab = _this.find('.formTableTab');
		if(_formTableTab.length==0)
		{
			_formTableTab = $("<div class='formTableTab'><div class='ftt_main_normal'><ul></ul></div><div class='ftt_sub'><ul></ul></div></div>");
			_formTableTab.prependTo(_this);			
			_isDefault = true;
		}
		
		
		var _nul = _formTableTab.find('.ftt_main_normal ul:eq(0)');//普通tab标签
		var _sul = _formTableTab.find('.ftt_sub ul:eq(0)');//普通子标签
		var _h2 = $(window).height() - _formTableTab.height();
		if(_isDefault)//如果是第一次创建
		{
					
			var _nul_li01 = $("<li class='first_01'><span>" + options.moduleName+ "</span></li>");				
			_nul_li01.appendTo(_nul);		
			//添加默认标签
			$.each(options.details,function(i,n){				
					
				_sul.append("<li url='"+ n.url +"' moduleName='"+ options.moduleName+"'><span>" + n.tabName + "</span></li>");
				
			});
			
			_nul_li01.attr("strHtml",_sul.html());
			
			_sul.click(function(e){
			
			var elli = $(e.target).parent('li');
			if(elli.html()!=null){
				toggleIframe(_this,elli);
				toggleState(_sul,elli);
				
			}
		});
		
		_nul.click(function(e){
			var elli = $(e.target).parent('li');			
			if(elli.html()!=null){
				var lis = _nul.find("li");
				var tag = lis.index(elli);
				//if(tag!=0&&tag==lis.length-1){return;}
				
				if(tag==0)
				{
					elli.removeClass().addClass("first_01");
					_this.find(".formTableBox").hide();
					_this.find(".formTableBox:eq(0)").show().removeClass("overflowHidden").addClass("overflowAuto");
					
					_sul.html($(elli).attr("strHtml"));
					
				}
				else
				{
					elli.addClass("last");
				}
				
				_nul.find("li:gt("+tag+")").remove();
				
				
				
				if(tag>0)
				{
					var iframes = _this.find("iframe");
					var tIframe=null;
					var turl = $(elli).attr("url");
					$.each(iframes,function(i,n){
						if($(n).attr("src") == turl ){
						//isAdd=false;
						tIframe=$(n);
						return false;
						}
					
					});
					if(tIframe!=null)
					{
						_this.find(".formTableBox").hide();
						tIframe.parent(".formTableBox").show();
						
						_sul.html(tIframe.attr("strHtml"));
					}
					
					
				}
				
				
			}
			
		});
			
			
			
		}
		else
		{
			
			if(options.details.length>0)
			{
				
				var _isAdd = false;
				var nulLis = _nul.find("li");
				var _iUrl = _this.find(".formTableBox:visible").find("iframe").attr("src");
				$.each(nulLis,function(i,n){
					
					if($(n).attr("url")==_iUrl)
					{
						curli = $(n);
						_isAdd = true;
						return false;
					}
				});
				
				
				
				if(!_isAdd)
				{
					
				
				_nul.find('li:eq(0)').removeClass().addClass("first");
				_nul.find(".last").removeClass('last');
				
				var _url = _this.find("iframe:visible").attr("src");				
				
				//var newLi = $("<li class='last'url='"+_url+"'><span>" + options.moduleName+ "</span></li>");
				
				_nul.append("<li class='last'url='"+_url+"'><span>" + options.moduleName+ "</span></li>");
				
				
				
				_sul.find("li").remove();
				
				
				$.each(options.details,function(i,n){	
				_sul.append("<li url='"+ n.url +"' moduleName='"+ options.moduleName+"'><span>" + n.tabName + "</span></li>");
				
				});
				
				_nul.find("li").last().attr("strHtml",_sul.html());
				
				_this.find(".formTableBox:visible").find("iframe").attr("moduleName",options.moduleName).attr("strHtml",_sul.html());
				}
			}
			
		}
		
		//修正滚动条
		$('.tabIframe:visible',top.document.body).attr("scrolling","no").removeClass("overflowAuto").addClass("overflowHidden");
		
		
		var _editDiv = $(".editDiv:eq(0)");
		if(_editDiv.length==0)
		{
			_editDiv = $(".editDiv:eq(0)",window.parent.document);
		}
		
		_editDiv=$('.tabIframe:visible',top.document.body);
		
		if(_editDiv.length>0)
		{
			_editDiv.removeClass("overflowAuto").addClass("overflowHidden");
			
			var _formTableBox = $('.formTableBox',window.parent.document);
			if(_formTableBox.length==0)
			{
				_formTableBox = $('.formTableBox');
				
			}
			
			if(_formTableBox.length>0)
			{
				//var thisheight = $(window.height)
				//_formTableBox.height(_editDiv.outerHeight()-100).removeClass("overflowHidden").addClass("overflowAuto");
			
				if(thisheight==0)
				{
			/*
				var _subNav = null;
				if($('#subNav').lenght>0)
				{
					_subNav=$('#subNav');
				
				}else if($('.subNavCol').length>0)
				{
					_subNav=$('.subNavCol:eq(0)');
				}
			*/		
				
				 thisheight =  $(window).height()-70;
				_formTableBox.height(thisheight).removeClass("overflowHidden").addClass("overflowAuto");
				_this.parent(".editDiv:eq(0)").attr("thisheight",thisheight);
			
				}
				else
				{
					_formTableBox.height(thisheight).removeClass("overflowHidden").addClass("overflowAuto");
				}
				
			
				if(_formTableBox.find("iframe").length>0)
				{
					_formTableBox.find("iframe").height(thisheight).removeClass("overflowHidden").addClass("overflowAuto");
					_formTableBox.removeClass("overflowAuto").addClass("overflowHidden");
					
				}
			}
			
		}
		
		
		
	/*
	 * 切换iframe
	 * 供uiAddDetailList使用
	 */
	function toggleIframe(o,li){
		var iframes = o.find('iframe');
		//var isAdd = true;//是否要新增
		var L = iframes.length;
		var tIframe = null;
		var turl = $(li).attr('url');
		if(L>0)
		{			
			$.each(iframes,function(i,n){
				
			//	console.info($())
				if($(n).attr("src") == turl ){
					//isAdd=false;
					tIframe=$(n);
					return false;
				}
				
			});
		}
		
		o.find(".formTableBox").hide();
		
		if(tIframe==null)//新增
		{
			//o.find(".formTableBox").hide();
			
			var _div = $("<div class='formTableBox hide'></div>");
			var _iframe = $("<iframe class='iframe' frameBorder='0' src2='"+turl+"' src='' scrolling='auto'></iframe>").height(thisheight);			
			_div.appendTo(o);
			_iframe.appendTo(_div);
			loadingfunc({closeBtnShow:false});	
			//_iframe.attr('moduleName',options.moduleName);
			_iframe.attr('src',turl).load(function(){			
			$.fn.nanagePopu.hide('loading');
			
			_iframe.height(thisheight);
			
			
			
			_div.show();
			
			
			//_iframe.attr("strHtml",_sul.html());
			
			
		
			
			});		
		}else
		{
		
			tIframe.parent(".formTableBox").show();
			
			if(tIframe.attr("moduleName")!=null)//如果是主表
			{
				
				var iUrl = tIframe.attr("src");
				var _curLi = _nul.find("li");
				var isAdd=false;//是否已经添加过
				var curli = null;
				$.each(_curLi,function(i,n){
					
					if($(n).attr("url")==iUrl)
					{
						curli = $(n);
						isAdd = true;
						return false;
					}
				});
				
				if(!isAdd)
				{
					_nul.find("li:eq(0)").removeClass().addClass("first");
					_nul.find(".last").removeClass();
				
					var li2 = $("<li class='last' url="+ tIframe.attr('src')+"><span>" + tIframe.attr('moduleName') + "</span></li>");
				
					_nul.append(li2);
				
					li2.attr("strHtml",tIframe.attr("strHtml"));
					_sul.html(tIframe.attr("strHtml"));
				}
				//alert(isAdd)
			}
			
			
			//tIframe.height(thisheight);
			//alert(23)
		}
		
		//return this;
	}
	/*
	 * 状态切换
	 * 供uiAddDetailList使用
	 */
	function toggleState(ul,li){
		
		$(ul).find("li").removeClass("on");
		$(li).addClass("on");
		//return this;
		
	}
		
		return _this; 
	},
	createList:function(options,len){
		/*
		功能：创建列表模块入口，主要调用createTable()完成输出 本方法暂时仅做转发功能
		参数：
		len:(int) td中允许最大显示字长范围，默认为100
		详细见：
		createForm()
	   */
	 
	 
			var len=len||100;	//td中允许的最大长度，默认为100
			var obj=$(this);
			if(options.callBack!=undefined){	//如果存在回调函数，即合并本方法中的回调函数与外部传入的回调函数
				var _callback=options.callBack;
				options.callBack=function(){
				if(typeof(_callback)=="string"){//如果回调方法传入为字符串类型
						eval(_callback);		
						}else{
							_callback();
						}
					obj.children('div:eq(0)').show();	//当表格输出完毕后，div层显示
				}
			}else{
				options.callBack=function(){
					var td=obj.find('td');
					td.each(function(i){
					
					
						if(td.eq(i).text().length>len){		//当td中的内容长度超过预设的最大限度，即td增个title属性
							td.eq(i).attr('title',td.eq(i).text()).css({'width':'20%','text-align':'left'});
							td.eq(i).html(td.eq(i).text().substr(0,len)+'...');
						}
						
					});
					obj.children('div:eq(0)').show();	//当表格输出完毕后，div层显示
				}
			}
			$('<div style="display:none;"></div>').appendTo($(this)).createTable(options);
			
			
	},
	menuList:function(settings,options,menuQ){	
			var settings=settings;
			var menuQ=menuQ||4;
		 	var mH=25;		//菜单的高度
			var mH2=0;		//初始化实际菜单高度
		 	var moreH=0;	//更多的高度
			var h3="";
			var _h3="";
			
			if(options!=undefined&&options[0]!=undefined){
			
			for(var i=0;i<options.length;i++){
					h3+='<h3>'+options[i].name+'</h3>';	
					mH2+=mH;
		
			}
					$(this).append(h3);
				
				$(this).find('h3').eq(0).after('<div id="treeDIV"><ul id="tree" class="tree"></ul></div>');
				$("#tree").zTree(setting,options[0].nodes);
				$(this).menuContrl(settings,options,menuQ);	
			 
			}
			
			
			
			var menuOverflow=jQuery("#menuOverflow");
		   function _menuAutoHeight(windowHeight){
			   //菜单自适应方法
				$(window.parent.document).find("#leftFrame").css({height:windowHeight-80});	//定义iframe的高度
				var overflowWidth=windowHeight-78-mH2-mH-moreH;
				menuOverflow.css({height:overflowWidth,overflow:'auto'});
			}
			
		//	_menuAutoHeight($(window.parent.document).height());	//把window高度传递到菜单自适就方法
		
			
	},
	
	menuContrl:function(settings,options,menuQ){	//控制菜单排序，样式控制
		var settings=settings;
			var h3=$(this).find("h3");
			h3.eq(0).addClass("on");
			
			
			h3.each(function(i){
				$(this).click(function(){
					    
					var frameMenu=$(window.parent.document).find("#sidebarBox");			//获取到父iframe中的浮动层菜单，把h3移除on样式
					$(frameMenu).find("h3").removeClass("on");
						var _obj=$(this);	   
					$(_obj).addClass("on").siblings().removeClass("on");	
					$("#menuTitle").html(options[i].name);
					//$("#tree").html("");  //先清空tree内容，主要为防止触发象没有nodes内容时，该树还存在的情况
					
						//$('#treeDIV').slideUp('fast',function(){
												  
											  $("#treeDIV").remove();	
								if(options[i].nodes!=undefined){
								
								
									$(_obj).after('<div id="treeDIV" class="hide" ><ul id="tree" class="tree"></ul></div>');
									$("#tree").zTree(setting,options[i].nodes);	
									
									$('#treeDIV').slideDown('fast');
									
						
								}											  
						// });
								
					
					// var j="["+$.toJSON(options[i])+"]";		  
					//alert(options[i].nodes);
				
					//$("#tree").zTree(setting,evalJSON(j));		  
				});
			 });
		
 
	},
 		
	extMenu:function(settings,options,menuQ){
		var settings=settings;
		//alert($(window.parent.document).find("#sidebarBox").find("#extMenu").html());
		var m=$(window.parent.document).find("#sidebarBox").find("#extMenu");
		var frameMenu=$(window.parent.frames["leftFrame"].document).find("#showMenu");		
	 
		var h3=m.find("h3");


			h3.each(function(i){
				$(this).click(function(){
					$("#menuTitle").html(options[menuQ+i].name);
					$("#tree").html("");  //先清空tree内容，主要为防止触发象没有nodes内容时，该树还存在的		  
					//$("#tree").zTree(setting,evalJSON(j));	
					if(options[menuQ+i].nodes!=undefined)$("#tree").zTree(setting,options[menuQ+i].nodes);	
				//	if(options[i].nodes!=undefined)$("#tree").zTree(setting,options[i].nodes);
					
					var _frameMenu=$(window.parent.frames["leftFrame"].document).find("#sidebar");		
					var _h=_frameMenu.find("h3");
				
					var h=$(this);		
					var d=$(this).next("dl");
					
					$(this).addClass("on").siblings().removeClass("on");
					_h.removeClass("on");
					$(this).parents("#extMenu").hide();
				
					$("#showMenu").menuContrl();					
					
				});
			 });


	 
		
	},
	extMenuCtrl:function(options){	
	/*
	功能：
	后台左则菜单浮动弹出层控制
	*/
		
		var _t;
		var t=800;
		var m=$(window.parent.document).find("#sidebarBox").find("#extMenu");
		
		var obj=$(this);
		$(this).mouseout(function(){
			_t=setTimeout(function(){
				m.hide();	
				
			},t);
		}).mouseover(function(){
			m.show();	
			
			//clearInterval(_t);	
			clearTimeout(_t);
		});
		
		
		m.mouseover(function(){
						
			clearTimeout(_t);	
			obj.addClass("moreMenuHover");
			m.show();
		}).mouseout(function(){
			obj.removeClass("moreMenuHover");
			_t=setTimeout(function(){
				m.hide();				 
			},t);
		});
		
		
	},
 	btnList:function(options){
		var defaults = {
			list:[],//按钮list
			isAdd:false//是否追加	
			
		};
		
/*
	功能:
	通过对像绑定传入约定的JSON数据格式，输出后台右则内容区域固定按钮列表
	按钮list选项：
	type:(str) 按钮类型，默认为 button ，可选 submit,reset
	value:(str) 按钮文字内容	
	cls:(str)按钮样式，默认 nBtn-01
	disabled:(boolnea) 按钮是否为锁定，默认为false不锁定，true为锁定
	onclick:(str) 触法事件
	使用示例：
	var btnList=[
		{type:'submit',value:'保存',disabled:true},
		{type:'reset',value:'重置'},
		{value:'全选',onclick:'alert("测试");'}
	]
	
	$('#id').btnList(btnList);
*/

	var type="";			
	var disabled="";
	var btn="";
 	if($.isArray(options))
	{
		for(var i=0;i<options.length;i++){
		if(options[i]==null) continue;
		var cls='nBtn-01';
		var onclick="";
		onclick=options[i].onclick!=undefined?'onclick='+options[i].onclick:'';
		type=options[i].type||'button';
		disabled=options[i].disabled==true?' disabled="true"':'';
		if(options[i].disabled)cls='nBtn-disabled';
		btn+='<li><button '+onclick+disabled+' type="'+type+'" class="'+cls+'">'+options[i].value+'</button></li>';
	}

	var html='<ul class="btnList clearfix">'+btn+'</ul>';
	$(this).append(html);
	}
	else
	{
		if(options.isAdd){//如果是在原有基础上追加	
			var _list = options.list;
			//alert(_list.length)
			for(var j=0,k=_list.length;j<k;j++)
			{
				var _cls='nBtn-01';
				var _onclick="";
				_onclick=_list[j].onclick!=undefined?'onclick='+_list[j].onclick:'';
				_type=_list[j].type||'button';
				_disabled=_list[j].disabled==true?' disabled="true"':'';
				if(_list[j].disabled)_cls='nBtn-disabled';
				btn+='<li><button '+_onclick+_disabled+' type="'+_type+'" class="'+_cls+'">'+_list[j].value+'</button></li>';
			}
			//alert(btn)
			$(this).find('ul.btnList').append(btn);
		}
		else		
		{
			$(this).btnList(options.list);
		}
	}

	
	var _this = $(this);
	
	if(_this.hasClass('btnColumn'))//如果存在，即是固定在底部的按钮
	{
		
		var _btnHeight = _this.find('.btnList').outerHeight(true)-20;
		
		var bottomSpace = $("#bottomSpace");
		if(bottomSpace.length==0)
		{
			bottomSpace = $("<div id='bottomSpace'></div>").appendTo("body").height(_btnHeight);
		}
		else
		{
			bottomSpace.height(_btnHeight);
		}
		
	

	var _id = $(this).attr('id');
	if(_id!="undefined"){
		$.fn.nanagePopu.add({id:_id});		
		$.fn.nanagePopu.setZindex(_id);
		
		
	}
	}

	return this;
},
createTreeTable:function(options,treeTableOptions,len){
	/* 功能：树形表格创建
	 * 参数说明：
	 * options:{}表格数据 与createTable的数据格式一致
	 * treeTableOptions:{} 树形列表配置
	 * len:int 
	 */
	//var settings = jQuery.extend({}, defaults, options);//合并defaults 和 options 不修改 defaults
	
	var _treeTableOptions={
		
	    collapsed: true,//是否折叠的 默认折叠
	    friNode:true//默认true 如果为true则页面上存在子节点，就不走ajax异步获取数据的流程，如果为false则异步获取数据 将返回的数据覆盖该父节点的子节点
	  
		
	};
	
	var myTreeTableOptions = jQuery.extend({}, _treeTableOptions, treeTableOptions);
	//if(!options||options.content.length==0){return}
	if(!options){return}	//上面的为原来的版本，现改为当内容没有存在时，表格头依然展示
	var _this = $(this);
	var _options = options;	
	_options.trDif = false;
	var _content = _options.content,//原始数据内容
	arrContent = [],//暂存过滤后的表格内容
	arrPid = [];//存储过滤后的树关系
	
	//判断是否是pid id 等标识数据
	function isPid(obj){	
		
		
	return	$.isPlainObject(obj)&&(obj.pid!=undefined||obj.id!=undefined||obj.url!=undefined);		
	
	};
	//获取pid id数据标识
	function getPid(arr){
		var re=null;
		var _arr = arr;
		for(var i=0,j=_arr.length;i<j;i++)
		{
			if(isPid(_arr[i])){
				re=_arr[i];
				break;
			}
		}
		return re;
	};
	
	//数据过滤
	function filterData(optionsData){
		
		
		if(!optionsData||optionsData.content.length==0){return false;}
		
		var _options2 = optionsData,_content2 = optionsData.content,//原始数据内容
		_length = _content2.length,_content3 = [],_content4=[],
		arrContent2 = [],//暂存过滤后的表格内容
		arrPid2 = [];//存储过滤后的树关系
	
		for(var i=0;i<_length;i++)		//查找一级树节点
		{
			var p = _content2[i];
			var pid = getPid(p);
			
			if(pid.pid==''||pid.pid==undefined){
				_content3.push(p);
				
				
			}else
			{
				var isLevel01 = true;
				
				for(var k=0;k<_length;k++)		
				{
					if(getPid(_content2[k]).id==pid.pid)
					{
						isLevel01 = false;
						break;
					}
					
				}
				if(isLevel01){
					_content3.push(p);
				}
				
			}
				
		}
			
			
			
		//递归操作 查找子节点
		function findNode(arr){
			var pid = getPid(arr);
			if(pid!=null&&pid.id!=undefined){
				for(var i=0;i<_length;i++)		
				{
						
					if(getPid(_content2[i]).pid==pid.id)
					{
						_content4.push(_content2[i]);
						
						findNode(_content2[i]);
					}
					
				}
			}
			
		}	
		//alert(_content3.length)
		if(_content3.length>0)
		{
			for(var i=0,j=_content3.length;i<j;i++)
			{
				_content4.push(_content3[i]);
				
				findNode(_content3[i]);
				
			}
		}	
			
		
		for(var i=0,j=_length;i<j;i++)
			{
				if(_content4[i].length>0)
				{
					var _items =_content4[i], items =[],pid={};
					for(var k=0,k1=_items.length;k<k1;k++)
					{
						if(!isPid(_items[k]))
						{
							items.push(_items[k]);
						}
						else
						{
							pid = _items[k];
						}
						
						//alert(_items[k].pid==undefined)
					}
					
					arrContent2.push(items);
					arrPid2.push(pid);
					
				}
				
			}
		
		_options2.content = arrContent2;	
		
		_options = _options2;	
		_content = _content2;
		arrContent = arrContent2;
		arrPid = arrPid2;

	
		return true;
	}
	
	filterData(_options);
	
	
	function ajaxInit(myoptions,parentTr){
		
		var _options2 = {};
		var thistr = $(parentTr);

		if(myoptions.length==0)
		{
			thistr.attr("isLoaded","yes");
			thistr.find('td:eq(0) .iconTree').remove();//如果没有数据 暂时先把它删除
			if(thistr.find('td:eq(0) .iconTree2').length==0)
			{
				thistr.find('td:eq(0)').prepend("<span class='iconTree2'></span>");
			}
			return;

		}
	
		_options2.content = myoptions;
		_options.callBack=function(){
					//init(_this);
				};
		var isfilted = filterData(_options2);


		if(!isfilted){return false}
		
		$("<div id='optionsData'></div>").appendTo('body').createList(_options);
			
		
		var _div = $("#optionsData");
		init(_div);

		getChild(thistr.attr("id"),thistr.parent('tbody')).remove();//移除旧的数据	
		_div.find("tbody tr").insertAfter(thistr);		
		_div.remove();
		thistr.attr("isLoaded","yes");
		expand(thistr);
		
	}
	
	
	//展开
	function expand(_o){
		var o = $(_o);
				
		var thisChilds = getChild(o.attr("id"),o.parent('tbody'),false);
		
		if(o.attr("rel")&&!o.attr("isLoaded")&&(!myTreeTableOptions.friNode||thisChilds.length==0))
		{
			
			$.ajax({
			url:$(o).attr("rel"),
			error:function(){			
				
			},
			success:function(response){
				//过滤数据
				//创建表格
				//初始化树
				//数据格式如：[['',''{id:'',pid:''}],['',''{id:'',pid:''}],['',''{id:'',pid:''}]]
				eval("var ttRes = "+response+";");
				ajaxInit(ttRes,o);
								
			},
			type:"POST"
			
			});
			
			
		}else
		{
			
			
			if(o.hasClass("collapsed")&&thisChilds.length>0)
				{
					o.removeClass("collapsed").addClass("expanded");
					thisChilds.show();
					
					var pidMLeft = parseInt(o.find("td:eq(0)").css("padding-left"));
						pidMLeft = isNaN(pidMLeft)?0:pidMLeft;
					
					$.each(thisChilds,function(i,n){
						$(n).find("td:eq(0)").css({"padding-left":pidMLeft+18+"px"});
						
					});
					
					
				}
			
			
		}
		
		
	}
	
	//收缩
	function collapse(_o){
		var o = $(_o);
		
		if(o.hasClass("expanded"))
		{
			o.removeClass("expanded").addClass("collapsed");
		}
		getChild(o.attr("id"),o.parent('tbody')).hide().removeClass("expanded").addClass("collapsed");
		
	
		
		/*
		$.each(childs,function(i,n){
			//如果下级还有下级 则连下级的下级也收缩
			
			//if()
			
			var _childs = getChild($(n).attr("id"),o.parent('tbody'));
			if(_childs.length>0)
			{
				collapse(n);
			}
			
			
		});
		*/
	}
	
	
	
	//切换收缩展示
	function toggleTree(o){
    if($(o).hasClass("collapsed")) {
     expand(o);
    } else {
     collapse(o);
    }

	

  };
	
	

	//添加图标
	function addTreeIcon(o){
		
		var td0 = $(o).find("td:eq(0)");		
		var pid = $(o).attr("pid");
		var pidMLeft = parseInt($("#"+pid).find("td:eq(0)").css("padding-left"));
			pidMLeft = isNaN(pidMLeft)?0:pidMLeft;
			
			
		$("<span>",{
			"class":"iconTree"
		}).click(
		function(){
			
			toggleTree($(o));
			
		}
		).prependTo(td0);
		//.css({"margin-left":pidMLeft+20+"px"});
		
	}
	
	
	//添加图标2
	function addTreeIcon2(o){
		
		var td0 = $(o).find("td:eq(0)");		
		var pid = $(o).attr("pid");
		var pidMLeft = parseInt($("#"+pid).find("td:eq(0)").css("padding-left"));
			pidMLeft = isNaN(pidMLeft)?0:pidMLeft;
			
			
		$("<span>",{
			"class":"iconTree2"
		}).click(
		function(){
			
			//toggleTree($(o));
			
		}
		).prependTo(td0);
		//.css({"margin-left":pidMLeft+20+"px"});
		
	}
	
	
	var trs = [];
	function init(o){
		
		
		var __this = $(o);
		trs = __this.find('table:eq(0) tbody tr');
		
		__this.find('table:eq(0) tr:eq(0)').children(":first").addClass("tf-01");
		$.each(trs,function(i,n){//添加属性
			
				$(n).attr({'pid':arrPid[i].pid,'id':arrPid[i].id,'rel':arrPid[i].url})
				.find("td:eq(0)").css({
					
					"text-align":"left"					
					
				});
			
		});
		
		
		
		$.each(trs,function(i,n){//添加父标识
		
		
		if($(n).attr('rel')!=undefined)			
			{
				$(n).addClass('parent');
				addTreeIcon(n);
				
			}
		else if($(n).attr("id")!=undefined)
			{
				var childs = getChild($(n).attr("id"),__this);
			
				if(childs.length>0)
				{
					$(n).addClass('parent');
					addTreeIcon(n);
					
				}else
				{
					
					//var pidMLeft = parseInt(o.find("td:eq(0)").css("margin-left"));
					//pidMLeft = isNaN(pidMLeft)?0:pidMLeft;
					//$(n).find("td:eq(0)").css({"padding-left":"50px"});
					
					addTreeIcon2(n);
					
				}
				
			}
		else
		{
			//$(n).find("td:eq(0)").css({"padding-left":"50px"});
			
			addTreeIcon2(n);
		}
			
			
		if($(n).attr('pid')!=undefined&&$("#"+$(n).attr('pid')).length>0)
			{
								
				if(myTreeTableOptions.collapsed)
				{
					
					$(n).hide();
				}
				
			}	
			
			
			
		});		

		if(myTreeTableOptions.collapsed)
			{
				__this.find('.parent').addClass('collapsed');
			}
	};
	
	
	
	if(_options.callBack!=undefined){	//如果存在回调函数，即合并本方法中的回调函数与外部传入的回调函数
				var _callback=_options.callBack;
				_options.callBack=function(){
				if(typeof(_callback)=="string"){//如果回调方法传入为字符串类型
						eval(_callback);		
						}else{
							_callback();
						}
					
					init(_this);
					
				};
			}else{
				_options.callBack=function(){
					init(_this);
				};
			}
	
	
		
	/*
	 * 功能：刷新或移动指定节点 作为父节点
	 * 数据格式示例:['',''{id:'',pid:''}]
	 * 前提：需要刷新或者移动的id在页面上已经存在
	 */

	if(typeof(updateTreeTableNode)=="undefined")
	{
		window.updateTreeTableNode = function(arr){
		
		
		//eval("var _thisArr = "+arr+";");
		//alert('调用updateTreeTableNode');
		
		var _options2 = {};
		
		_options2.content = arr;
		//_options2.content = _thisArr;

		_options.callBack=function(){
					//init(_this);
				};

	//console.info('updateTreeTableNode2');
		var isfilted = filterData(_options2);
		if(!isfilted){return false}		
		var o = $("#"+arrPid[0].id),_pid = arrPid[0].pid;
		//if(o.length==0){return;}
		var ol = o.length;
		if(o.length==0)//新增
		{
			
			o=_this.find(".dataList:eq(0) tbody tr").last();
		
		}
		
		$("<div id='optionsData'></div>").appendTo('body').createList(_options);
		
				
		var _div = $("#optionsData");
		init(_div);
		
		var thistr = $('#'+_pid);
		//thistr.parent('tbody:eq(0)').
		if(ol!=0)
		{
			
		if(o.attr("pid")==_pid||thistr.length==0)//pid不变或者没传进来，这种情况做刷新操作
		{
			_div.find("tbody tr").clone(true).insertAfter(o).show();
		}else//刷新并移动
		{
			getChild(arrPid[0].id,thistr.parent('tbody')).remove();//移除旧的子节点
			_div.find("tbody tr").clone(true).insertAfter(o).show();	
		}
		
		o.remove();
		}
		else//新增到后面
		{
			
			_div.find("tbody tr").clone(true).insertAfter(o).show();
			
		}



		
		_div.remove();
		
		
		o = $("#"+arrPid[0].id);
		o.find("td:eq(0) .iconTree").click(function(){						
							toggleTree(o);
							
						//	alert(3)
					});
		if(!(o.attr("pid")==_pid||thistr.length==0))
			{
				$.each(getChild(arrPid[0].id,o.parent('tbody')),function(i,n){
					
					
					$(n).find("td:eq(0) .iconTree").click(
					function(){
						toggleTree($(n));
						
						//alert(i)
					}
					);
					
				});
			}
		
		treeState(o);
		
		//});
		
		
		}
	}

	/*
	 * 功能：删除表格的某行
	 * 参数：
	 * id指表格行id
	 */
	
	if(typeof(delTreeTableNode)=="undefined")
	{
		window.delTreeTableNode = function(id)
		{
			
			var tr = $("#"+id);
			getChild(tr[0].id,tr.parent('tbody')).remove();
			tr.remove();
			
		};
	}
	
	/*
	 * 功能：移动某个节点（包括子节点） 上下移只支持同一个父节点下的数据
	 * 参数：
	 * id:(str) 指表格行id
	 * direction:('up'||'down') 移动的方向 向上或向下
	 */
	if(typeof(moveTreeTableNode)=="undefined")
	{
		
		window.moveTreeTableNode = function(id,direction){
			
			var o = $("#"+id);
			
			var p = o.parent('tbody');
			var t = o.index();			
			
		
			var alltrs = p.find('tr');
			
			//调整节点
			function moveNode(trNode){
				var _o = $(trNode)
				var _childs = getChild(_o.attr("id"),p,false);
				if(_childs.length>0)
				{
					_childs.clone(true).insertAfter(_o);
					_childs.remove();
					var _childs2 = getChild(_o.attr("id"),p,false);
					$.each(_childs2,function(i,n){
						
						
						moveNode(n);
						
					});
					
					//_childs.remove();
				}
			}
			
			if(direction=='up')//上移
			{
				
				if(t!=0)
				{
					
					var tr  = p.find("tr:lt("+ t +")").filter("[pid="+o.attr('pid')+"]").last();
					
					if(tr.length==0){
						return;
					}
					
					var childs = getChild(id,p,false);
					//alert(childs.length)
				
					o.clone(true).insertBefore(tr);	
				
					o.remove();//删除旧的节点
					o = $("#"+id);
					childs.clone(true).insertAfter(o);
					childs.remove();//删除旧的子节点
					
					
					childs = getChild(id,p,false);
					//alert(childs.length)
					if(childs.length>0)
					{
						$.each(childs,function(i,n){
						
						moveNode(n);
						});
					}
					
					
					o.find("td:eq(0) .iconTree").click(function(){						
							toggleTree($("#"+id));
					});
					
					$.each(getChild(id,p),function(i,n){
						
						
						$(n).find("td:eq(0) .iconTree").click(
						function(){
							toggleTree($(n));
							
							//alert(i)
						}
						);
						
					});
										
				}
				
			}
			else if(direction=='down')//下移
			{
			if(t<alltrs.length-1)
				{
					
					var tr  = p.find("tr:gt("+ t +")").filter("[pid="+o.attr('pid')+"]").first();
					
					if(tr.length==0){
						return;
					}
					var childs = getChild(id,p,false);
					
					
					o.clone(true).insertAfter(tr);	
				
					o.remove();//删除旧的节点
					o = $("#"+id);
					childs.clone(true).insertAfter(o);
					childs.remove();//删除旧的子节点
					
					
					childs = getChild(id,p,false);
					if(childs.length>0)
					{
						$.each(childs,function(i,n){
						
						moveNode(n);
						});
					}
					
					
					o.find("td:eq(0) .iconTree").click(function(){						
							toggleTree($("#"+id));
							
						//	alert(3)
					});
					
					$.each(getChild(id,p),function(i,n){
						
						
						$(n).find("td:eq(0) .iconTree").click(
						function(){
							toggleTree($(n));							
						}
						);						
					});					
				}			
				
			}
			
			treeState(o);//修正树显示打开的状态
			
		};
		
	}
	
	
	//alert(arrContent[0][0])
	_this.createList(_options,len);//调用createList创建列表
	
	/*
	 * 功能 还原树展开关闭状态
	 */
	function treeState(_o){
		var o = $(_o);
		
		var trs = getChild(o.attr("id"),o.parent('tbody'));
		
		//alert(trs.length)
		trs = $.grep(trs,function(n,i){
			
			return $(n).is(":visible");
		});
			//alert(trs.length)
		if(trs.length>0)
			{
				o.removeClass("collapsed").addClass("expanded");
				
				$.each(trs,function(i,n){
					treeState(n);
				});
				
			}else
			{
				o.removeClass("expanded").addClass("collapsed");
			}	
		
	}

	//获取子节点的方法
	function getChild(pid,o,isAll){	
		
		var _trs = $(o).find("tr[pid="+pid+"]");	
		//var reArr = [];
		function _getChilds(tr){
			var _tr = $(tr);
			var cNode = $(o).find("tr[pid="+_tr.attr('id')+"]");
			if(cNode.length>0)
			{
				//trs.push(cNode);
				
				$.merge(_trs,cNode);
				//$.unique(_trs);
				$.each(cNode,function(i,n){
					
					//reArr.push($(n).clone(true));
					_getChilds(n);
					
				});
				
			}
			
		}
		
		var _isAll = true;
		if(isAll==undefined)
		{
			_isAll = true;
		}
		else
		{
			_isAll = isAll;
		}
		
		//alert(_isAll)
		if(_trs.length>0&&_isAll)
		{
			$.each(_trs,function(i,n){
				//reArr.push($(n).clone(true));
				_getChilds(n);
			
			});
			
		}
		$.unique(_trs);
	
		return _trs;
		
		
	}
	//获取父节点的方法
	function getParent(){
		
	}
	
},
 verifyLogin:function(options){
		 /*
		 功能：登录模块表单校验
		 选项：
		 beforeSend:(fn||str) 提交前执行的方法
		 verifySuccess:(fn||str) 校验成功后执行的方法
		 表单中控件 parameter 参数：
		 type:(str) uid(用户),pwd(密码),randCode,(随机短信),checkCode(动态密码)
		 */
		 var form=$(this).parents('form');
		 var _input=form.find('input');
		
		 _input.each(function(i){
			if(_input.eq(i).attr('type')=='text'||_input.eq(i).attr('type')=='password'){
				_input.eq(i).focus(function(){
					$(this).addClass('input1_focus');   
				}).blur(function(){
					$(this).removeClass('input1_focus');
				});
			}
		})
		 
		$(this).click(function(){ 
		if(options!=undefined){
			if(typeof(options.beforeSend)=="string"){//如果执行函数为字符号
				eval(options.beforeSend);
			}else{	
				if(options.beforeSend!=undefined)options.beforeSend();	
			}
		}
		for(var i=0;i<_input.length;i++){
			if(_input.eq(i).attr('parameter')!=undefined){
			switch(evalJSON(_input.eq(i).attr('parameter')).type){
				case 'uid':
					if(!inputCheck({obj:_input.eq(i),type:'mobile',need:true})){
						$('#loginTips').show();
						
						
						$('#loginTips td:eq(0)').html('<div><span class="ico"></span> <span class="text">请正确输入11位数的移动手机号码！</span></div>');
						
						_input.eq(i).focus().addClass('input2_focus').one('blur',function(){$(this).removeClass('input2_focus');});
						return false;	
					}
				break;
				case 'pwd':
								
				
					if(!inputCheck({obj:_input.eq(i),type:'en',maxLen:8,minLen:6,need:true})){
						$('#loginTips').show();
					
						//$('#loginTips .text').html('请正确输入登录密码！');
					
						$('#loginTips td:eq(0)').html('<div><span class="ico"></span> <span class="text">请正确输入登录密码</span></div>');
						
						_input.eq(i).focus().addClass('input2_focus').one('blur',function(){$(this).removeClass('input2_focus');});
						
						return false;	
					}
				break;
				case 'rndCode':
					if(!inputCheck({obj:_input.eq(i),type:'num',maxLen:6,minLen:6,need:true})){
				     	$('#loginTips').show();
					
						//$('#loginTips .text').html('请正确输入动态密码！');
						
						$('#loginTips td:eq(0)').html('<div><span class="ico"></span> <span class="text">请正确输入动态密码</span></div>');
						_input.eq(i).focus().addClass('input2_focus').one('blur',function(){$(this).removeClass('input2_focus');});
						return false;	
					}
				break;
				case 'checkCode':
					if(!inputCheck({obj:_input.eq(i),type:'en',maxLen:4,minLen:4,need:true})){
						$('#loginTips').show();
						
					//	$('#loginTips .text').html('请正确输入验证码！');
						$('#loginTips td:eq(0)').html('<div><span class="ico"></span> <span class="text">请正确输入验证码</span></div>');
						_input.eq(i).focus().addClass('input2_focus').one('blur',function(){$(this).removeClass('input2_focus');});
						return false;	
					}
				break;
				 
			
			}
		}
		}
		
		if(typeof(options.verifySuccess)=="string"){//如果执行函数为字符号
			eval(options.verifySuccess);
		}else{	
			if(options.verifySuccess!=undefined)options.verifySuccess();	
		}
		
		$('#loginTips').hide();
		$('#loginBlank').show();
		$(this).addClass('loginBtn_send');
		//blockUI({bg:false});
		$(this).parent().prev().html('<img src="'+stx+'/images/v2012/public/icon_loading.gif" />');
		return true;
	})
	},
	
	sendErr:function(options){
		/*
		功能：服务端登录，检验失败调用的方法
		选项：
		tipsText:(str) 为提示语句
		*/
		var defaults={	
		tipsText:null
			
		};
		var settings=$.extend(defaults,options);	
		//var _input=settings.obj;
		//$(this).removeClass('loginBtn_send');
		$(this).parent().prev().html('');
		if(settings.tipsText!=null){
			//$('#loginTips').show().find('.text').html(settings.tipsText);
			
			$('#loginTips').show();
			$('#loginTips td:eq(0)').html('<div><span class="ico"></span> <span class="text">'+settings.tipsText+'</span></div>');

 		}
		
			$(this).addClass('input2_focus').focus().select().one('blur',function(){
				$(this).removeClass('input2_focus');
			});
				
		
		//unblockUI();
	}
	
		

});
 



//ie6 hack
function ie6hack(){
	
	if($.browser.msie&&$.browser.version==6.0)
	{
		ie6dataList();
		ie6btn();
	}
}


//数据表格效果
/*
function _dataList(){
	$(".dataList thead tr td").hover(function(){
		$(this).css('background','#E4F5FD');
	},function(){
		$(this).css('background','#C6E8F8');
	});
	
	$(".dataList tbody tr").hover(function(){
		$(this).find('td').css('background','#E7F5FD');
	},function(){
		var o = $(this);
		if(o.hasClass('tr-02'))
		{
			$(this).find('td').css('background','#F3FBFE');
		}
		else
		{
			$(this).find('td').css('background','#fff');
		}
		
	});
	
}

*/

 
function ie6dataList(){
	/*功能:
	数据表格IE6效果
	*/
	$(".dataList thead tr td").live('mouseover mouseout', function(event){
  		if (event.type == 'mouseover'){
		$(this).addClass("hover");
		}else{
		$(this).removeClass("hover");
		}
	});
		
		$(".dataList thead tr th").live('mouseover mouseout', function(event){
  		if (event.type == 'mouseover'){
		$(this).addClass("hover");
		}else{
		$(this).removeClass("hover");
		}
	});

	$(".dataList tbody tr").live('mouseover mouseout', function(event){
  		if (event.type == 'mouseover'){
		//$(this).find('td').css('background','#E7F5FD');
		$(this).addClass("hover");

	}else{
		
		$(this).removeClass("hover");
	}});
	
}

 

function ie6btn(){
	/*
	功能：
	按钮ie6效果
	*/
	$(".nBtn-01").live('mouseover mouseout', function(event){
  		if (event.type == 'mouseover')
		{
			$(this).removeClass('nBtn-01').addClass('nBtn-01-02');
		}
		else
		{
			$(this).removeClass('nBtn-01-02').addClass('nBtn-01');
		}
		});
	
	
	$(".nBtn-02").live('mouseover mouseout', function(event){
  		if (event.type == 'mouseover')
		{
			$(this).removeClass('nBtn-02').addClass('nBtn-02-02');
		}
		else
		{
			$(this).removeClass('nBtn-02-02').addClass('nBtn-02');
		}
		});
	
}




 
/*
功能：菜单高亮定位
参数：
o,菜单对象，一般为菜单ID
t,要高亮定位的菜单项 一般为this
*/
function curMenu(o,t)
{
	var lis = $('#'+o+' li');	
	var _t = lis.index($(t));

	$.each(lis,function(i,n){
		
		if(i==_t)
		{
			$(n).addClass("on");
			
		}else
		{
			$(n).removeClass("on");
		}
		
	});
	
	
	
	$(window.parent.document).find('#leftFrame')[0].src = $(t).attr('rel');
}



/*
 * 功能：弹出层 选择栏目
 * 参数说明
 * id_01 触发事件的标签的id
 * id_02 弹出标签的id 
 * html:<div class="cCol" id="selectColumn"><span class="tit">选择栏目</span></div>
 * <div class="sColumn" id="sColumn">
  <div class="t"><span class="C80">当前城市：</span>
    <select>
      <option selected="selected">省公司</option>
      <option>广州</option>
      <option>深圳</option>
      <option>东莞</option>
    </select>
  </div>
  <div class="c"> <img src="/images/v2012/public/colTree.gif" /> </div>
</div>
 * js：selectColumnFunc("#selectColumn","#sColumn")
 */

function selectColumnFunc(id_01,id_02){	
var obj = $(id_01);
var obj2 = $(id_02);
var of = obj.offset();
var h = of.top + obj.height() + 0 ;
obj.hover(function(){
	obj2.offset({ top: h, left: of.left });
},function(){
	obj2.offset({ top: -9999, left: -9999 });
});

obj2.hover(function(){
	obj2.offset({ top: h, left: of.left });
},function(){
	obj2.offset({ top: -9999, left: -9999 });
});
	
	obj2.bgiframe();
}

/*
 * 功能：ajax
 * 参数：options {ajax请求选项设置 所有参数都可选}
 * ===========================options选项说明===========================
 * beforeSend:fn
 * 格式:函数
 * 参数:XMLHttpRequest
 * 在发送请求之前调用，并且传入一个XMLHttpRequest作为参数,签权，登录之类的可以在这里做。
 * 如果返回false取消本次ajax请求。
 * 参数示例：
 * function (XMLHttpRequest) {
 *  	this; // 调用本次AJAX请求时传递的options参数
 *	}
 * error:null, 
 * 格式:函数
 * 参数：XMLHttpRequest, textStatus, errorThrown
 * 在请求出错时调用。传入XMLHttpRequest对象，描述错误类型的字符串以及一个异常对象（如果有的话）
 * 参数示例：
 * function (XMLHttpRequest, textStatus, errorThrown) {
 *	// 通常 textStatus 和 errorThrown 之中
 *	// 只有一个会包含信息
 *	this; // 调用本次AJAX请求时传递的options参数
 *	}
 *
 *dataFilter:null,
 * 格式:函数
 *给Ajax返回的原始数据的进行预处理的函数。提供data和type两个参数：data是Ajax返回的原始数据，type是调用jQuery.ajax时提供的dataType参数。
 *参数示例
 *function (data, type) {
 *		//对Ajax返回的原始数据进行预处理
 *	return data  // 返回处理后的数据
 * 	}
 *
 */
//function ajax(options){
	//var defaults = {		
	/*============== 回调函数 ====================*/
		//beforeSend:null, 		
		//error:null, 
		/* 格式:函数
		 * 参数：XMLHttpRequest, textStatus, errorThrown
		 *在请求出错时调用。传入XMLHttpRequest对象，描述错误类型的字符串以及一个异常对象（如果有的话）
		 *参数示例：
		 * function (XMLHttpRequest, textStatus, errorThrown) {
    	 *	// 通常 textStatus 和 errorThrown 之中
    	 *	// 只有一个会包含信息
   	 	 *	this; // 调用本次AJAX请求时传递的options参数
		 *	}
		 */
		//dataFilter:null,
		/* 格式:函数
		 *给Ajax返回的原始数据的进行预处理的函数。提供data和type两个参数：data是Ajax返回的原始数据，type是调用jQuery.ajax时提供的dataType参数。
		 *参数示例
		 *function (data, type) {
         *		//对Ajax返回的原始数据进行预处理
         *	return data  // 返回处理后的数据
		 *	}
		 */
		//success:null, // 当请求之后调用。传入返回后的数据，以及包含成功代码的字符串。
		//complete:null //当请求完成之后调用这个函数，无论成功或失败。传入XMLHttpRequest对象，以及一个包含成功或错误代码的字符串。
 
		
		
	//};
	
	
	
	
	
	//$.ajax(options);
	
//}




//总是在右上角信息提示层
function rtMsg(options){
		
	var defaults={		
		    //默认选项配置		
			id:'rtMsg',//rtMsg 默认为rtMsg
			sub:'.pop',//弹出层二层选择器 默认为.pop
			cover:self,//要遮盖的窗体 默认遮盖当前窗体 父窗体为top 
			html:"数据处理中，请稍候...",//填充的内容	 			
 			closeTimeOut:0,//超时多少秒自动关闭弹出loading层 默认不关闭 必须为数字
 			esckey:false,//是否开启ESC关闭弹出层的功能 默认不开启
 			zIndex:100,//弹出层的优先级 值越大优先级越高 默认为100 后弹出的层优先 注意：父窗体的弹出层比子窗体的弹出层优先级高
 			closeCallBack:function(){},//关闭后的回调函数 不能够是一条语句 如果要带参数closeCallBack:function(){你的函数名(你的参数);} 不带参数closeCallBack:你的函数名
 			closeBtnShow:true,//弹出层是否显示关闭按钮 默认显示
 			isLock:true,//是否锁屏 默认锁屏
 			isAnimate:false,//是否开启效果 默认不开启
 			drag:false,//可拖动 默认不可拖动
 			width:150,//loading层宽度 默认150像素
 			isCenter:false,//是否居中，默认不居中
 			isHasLoadingIcon:true,//是否有loading小图标 默认有
 			isHide:false, //是否要去除弹出层 默认不去除
			obj:$('body'), //需要定位loading状态层的容器 默认是当前body 【如果cover:top，则该参数无效】
			isbg:true//遮罩层是否是灰色？默认是
			};
					
	
	var settings = jQuery.extend({}, defaults, options);//合并defaults 和 options 不修改 defaults
	//var _cover = $.fn.nanagePopu.getCover(settings.cover);
	var _apToObj = $.fn.nanagePopu.apToObj(settings.cover);
	var obj = _apToObj.find("#"+settings.id);			
	var _pop = null;	
	
	if(obj.length==0) 
		{	
				
			_apToObj.append("<div class='rtMsg' id='rtMsg'><div class='filter'><iframe></iframe><div class='fiIframe'></div></div><div class='pop'><div class='t'><div class='closeBtn' id='closeBtn'></div></div><div class='c'></div></div></div>");			
			obj = _apToObj.find('#rtMsg').attr('id',settings.id);
			
		}
	_pop = obj.find(".pop");
	if(settings.isHasLoadingIcon)
		{
			
			_pop[0].className = "pop";
		}
		else
		{
			
			_pop[0].className = "pop2 pop";
		}
			
	
	obj.find('.c').html(settings.html);
	_pop.width(settings.width);
	obj.nanagePopu.add(settings).show(settings.id,settings.cover);
	
		
	
}




/*
 * 功能：弹出层小贴士气泡
 */

function tips(){
	
	$(".tips").live('mouseover',function(){
		
		if(typeof(popTips)=='undefined')
		{
			window.popTips = $("<div>",{'class':'popTips'}).append("<div class='t'></div>").append("<div class='c'></div>").appendTo($(document.body));
		}
		
		var thisTitle = $(this).attr("title");
		var c = popTips.find(".c");
		c.html(thisTitle);
		
		var offset_01 = $(this).offset();
		var l = offset_01.left + $(this).width()/2 - 37;
		var t = offset_01.top + $(this).height() + 5;
		//popTips.hide();
		popTips.offset({left:l,top:t});
		//popTips.show('slow');
	
		$(this).attr("title",'').unbind("mouseleave").mouseleave(function(){
			$(this).attr("title",thisTitle);			
			c.html("");			
			popTips.offset({left:-9999,top:-9999});
			
		});
	});
}


//页面初始化就运行

$(function(){
	
	tips();//tips小贴士			
	
	ie6hack();
	
	
});

/**弹出信息提示框（此函数是在原来的弹出框基础上封装的，提供比较简单功能的弹出）
 * result:true或者false
 * message:提示信息文本
 */
function showMsg(result,message){
	if(!message){
		message=(result==true)?"操作成功！":"对不起，系统繁忙，请稍候再试！";
	}
	dopop({title:'温馨提示',html:message,isMsg:(result==true)?'success':'error',width:'min'});
	
}


/*
 * 功能：编辑修改大内容，如文章修改之类的
 * 参数说明:
 * htmlstr:为要填充的html
 * _id：需要创建的元素的_id,默认是doEditDiv
 * callBack:回调函数
 * 调用示例：
 * doEdit('testHtmlCode')
 */

 function doEdit(htmlstr,_id,callBack){
 	
	
	
		var _id=_id||'doEditDiv';
		var url=url||''; 
		//alert(id)
		var o = null;
		if(!$('#'+_id).length)
		{
			o=$("<div id="+ _id +" class='editDiv hide'></div>").appendTo($(document.body));
		}
		else
		{
			o=$('#'+_id);
			o.html('');
		}
		
		
		
		
		
		var _tabIframe = $('.tabIframe:visible',parent.document.body);
		var ttop = 0;
		var tobj = null;
		if(_tabIframe.length>0)
		{
			
			var tobj1 =  _tabIframe.contents().find("html").scrollTop()>$('.tabContent:visible',parent.document.body).scrollTop()?_tabIframe.contents().find("html"):$('.tabContent:visible',parent.document.body);
			var tobj2 = _tabIframe.contents().find("body").scrollTop()>_tabIframe.scrollTop()?_tabIframe.contents().find("body"):_tabIframe;
		
			
			tobj = tobj1.scrollTop()>tobj2.scrollTop()?tobj1:tobj2;
			ttop = tobj.scrollTop();
			_tabIframe.attr("scrolling","no").removeClass("overflowAuto").addClass("overflowHidden");						
			$('.tabContent:visible',parent.document.body).removeClass("overflowAuto").addClass("overflowHidden");
			
			_tabIframe.contents().find("body").removeClass("overflowAuto").addClass("overflowHidden");
			o.removeClass("overflowHidden").addClass("overflowAuto");
			
			
			
		
		}
		else
		{
			var doEditIframe = $('.formTableBox:visible .iframe',parent.document.body).contents().find("html");
			
			if(doEditIframe.length>0)
			{
				
				tobj = doEditIframe;
				ttop = tobj.scrollTop();
				doEditIframe.removeClass("overflowAuto").addClass("overflowHidden");
			}
			
			
			
		}
		
		
		
		
		var _formTableTab = $('.formTableTab',window.parent.document);
		
		if(_formTableTab.length==0)
		{
			_formTableTab = $('.formTableTab');
		}
		
		var _formTableTabstr1 = '';
		var _iframeVisible = null;
		if(_formTableTab.length>0)
		{
			_formTableTabstr1 = _formTableTab.html();
			
			_iframeVisible = $(".formTableBox:visible iframe",_formTableTab.parent());
			
			if(_iframeVisible.length>0)
			{
				_iframeVisible.attr("modulename2",_iframeVisible.attr("modulename"));
				_iframeVisible.attr("strhtml2",_iframeVisible.attr("strhtml"));
				
				
				//alert(_iframeVisible.attr("strhtml"));
				
			}
		}
		
		
		/*
		var _subNav = null;
		if($('#subNav').lenght>0)
		{
			_subNav=$('#subNav');
		
		}else if($('.subNavCol').length>0)
		{
			_subNav=$('.subNavCol:eq(0)');
		}
		*/
		
	var t=0,t3=0;
		//if(_subNav!=null)		
		//{
		
			//t3 = _subNav.outerHeight();	
			//t=isNaN(t3)?0:t3;					
		//}
	
		var piframes = null;
		var _piframe = null;
		var _iframe = null;
		var editDIVS = null;
		var test = true;
	var fixHeight = function(o2){
		
		//查找是否存在父iframe
		piframes = $('.iframe:visible',parent.document.body).not(".tabIframe");
		if(piframes.length>0)
		{
			$.each(piframes,function(i,n){
			
			_iframe = $(n);
			editDIVS = _iframe.contents().find(".editDiv:visible");
			
			if(editDIVS.length>0)
			{
				$.each(editDIVS,function(i2,n2){
				
				if(n2==o2[0])
				{					
					_piframe=_iframe;
					test = false;
					return false;
				
				}
			});
			}
			
			
			if(!test)
			{
				return test;
			}
			
			});
			
			
		}
		
		
		o2.height('auto');
		
		if(_piframe!=null)
		{
			_piframe.height("auto");
			//_piframe.css({overflow:"visible"});
			//o2.height("auto");
		}
		
		
		//var _h =Math.max(self.document.body.scrollHeight,self.document.documentElement.scrollHeight)-8;	
		//var _h = $(window).height()-8;
		var _h = $(window).height();
		if(_formTableTab.length>0)
		{
			
			
			if($(".editDiv",document.body).attr("thisheight"))
				{
					_h = parseInt((".editDiv").attr("thisheight"));
					(".editDiv").removeClass("overflowAuto").addClass("overflowHidden");
				}
			else
				{
					if($(".editDiv",parent.document.body).attr("thisheight"))
					{
						_h = parseInt($(".editDiv",parent.document.body).attr("thisheight"));
						$(".editDiv",parent.document.body).removeClass("overflowAuto").addClass("overflowHidden");
					}
				}
			
			
			
			
			
		}
		
			_h=isNaN(_h)?0:_h;
			var t4=2;
			/*
			if(_subNav==null)
			{
				t4 = 2;
			}else
			{
				t4 = parseInt(_subNav.css('padding-top'));
			}
			
			*/
			_h = _h +5;		
			
			o2.height(_h).bgiframe();
			
			
		
			//_h = parseInt(_h);
			
			
					
			
			
			
			if(_piframe!=null)
			{
				_piframe.height(_h+t4+3);
				_piframe.attr("scrolling","no");
				_piframe.css({"overfolw":"hidden"});
				
				
				
				var ishas = false;
				if($(".editDiv",document.body).attr("thisheight"))
				{
					_h = $(".editDiv").attr("thisheight");
					$(".editDiv").removeClass("overflowAuto").addClass("overflowHidden");
				}
				else
				{
					if($(".editDiv",parent.document.body).attr("thisheight"))
					{
						_h = $(".editDiv",parent.document.body).attr("thisheight");
						$(".editDiv",parent.document.body).removeClass("overflowAuto").addClass("overflowHidden");
					}
				}
				
				
				
				
				
				
			}
			//alert(3333);
			//alert(o2.height())	;
			
		try{
			_piframe=null;
			piframes=null;
			_iframe = null;
			editDIVS = null;
			_h=null;
			t4=null;
			delete _piframe;
			delete piframes;
			delete _iframe;
		    delete editDIVS;
			delete _h;
			delete t4;
			if ($.browser.msie&&CollectGarbage) {
                CollectGarbage(); //IE 特有 释放内存
            }
		
			
		}catch(e){}
		
		
	
		
		
	};
	
	
	
	try{
		o.html(htmlstr).css({"top":0}).show(0,function(){
			
			try{
			$.fn.nanagePopu.add({id:_id});		
			$.fn.nanagePopu.setZindex(_id);
			//fixHeight(o);
			}
			catch(e){}
			fixHeight(o);
			o.css("overflow","");
			o.removeClass("overflowHidden").addClass("overflowAuto");
			
			
			
			//o.removeClass("overflowAuto").addClass("overflowHidden");
			loadingfunc();
			try{
			
				tobj.scrollTop(0);
			}catch(e){}
			
			loadingfunc({isHide:true});	
		});	
	}
	catch(e){}
	
		if(callBack!=undefined)//如果有回调函数，执行之
		{
			if(typeof(callBack)=="string"){//如果回调方法传入为字符串类型
			eval(callBack);	
			//loadingfunc({isHide:true});	
			}else{
				callBack();
				
			}
			
		}
		
		
		
	
	
		var _formTableTabstr2 = '';
		var isFormTable=false;
		
		if(_formTableTab.length==0)
		{
			_formTableTab = $('.formTableTab',o);
		}
	
		if(_formTableTab.length>0)
		{
			
			_formTableTabstr2 = _formTableTab.html();
			
			if(_formTableTabstr1!=_formTableTabstr2)
			{
				isFormTable=true;
			}
			
			
		}
	
	
		
		var t_tabContent = $('.tabContent:visible',parent.document.body);
		var t_tabIframe = null;
		if(t_tabContent.length>0)
		{
			//t_tabContent.height($(window).height()-8).removeClass("overflowAuto").addClass("overflowHidden");
			t_tabIframe = $('.tabIframe:visible',t_tabContent);
			if(t_tabIframe.length>0)
			{
				t_tabIframe.attr("scrolling","no").removeClass("overflowAuto").addClass("overflowHidden");
			}
			
			t_tabContent.removeClass("overflowAuto").addClass("overflowHidden");
			
		}
		
		
		o.append("<div class='closeEdit' title='点击关闭'>&nbsp;</div>");
		var closeBtn = o.find(".closeEdit");
		closeBtn.show();
		closeBtn.click(function(e){				
						//$.fn.nanagePopu.hide(id,self);	
						
						
						
						o.hide();	
						o.html("");
						
						
						
						
						if(isFormTable)//如果是主子表
						{
							//_formTableTab.html(_formTableTabstr1);
							
							//var testDiv = $("<div></div>").html(_formTableTabstr1).appendTo(document.body);
							$(document.body).append("<div class='mytestDiv hide'></div>");
							
							
							
							var testDiv = $(document.body).find(".mytestDiv");
							testDiv.html(_formTableTabstr1);
							
								_formTableTab.find(".ftt_main_normal ul").html(testDiv.find(".ftt_main_normal ul").html());
								_formTableTab.find(".ftt_sub ul").html(testDiv.find(".ftt_sub ul").html());	
								testDiv.html("");		
								testDiv.remove();	
								
								if(_iframeVisible!=null&&_iframeVisible.length>0)
								{
									
									if(_iframeVisible.attr("modulename2")==undefined)
									{
										_iframeVisible.removeAttr("modulename");
									}
									else
									{
										_iframeVisible.attr("modulename",_iframeVisible.attr("modulename2"));
									}
									
									
									if(_iframeVisible.attr("strhtml2")==undefined)
									{
										_iframeVisible.removeAttr("strhtml");							
									}
									else
									{
										_iframeVisible.attr("strhtml",_iframeVisible.attr("strhtml2"));									
										
									}
										
								
								}
						
						}
					
						if($('.tabIframe:visible',parent.document.body).length>0)
						{
							
							
							$('.tabIframe:visible',parent.document.body).attr("scrolling","auto").removeClass("overflowHidden").addClass("overflowAuto");
						
							$('.tabContent:visible',parent.document.body).removeClass("overflowHidden").addClass("overflowAuto");
							
						if($.browser.msie&&$.browser.version==6.0)
						{
							$(document.body).removeClass("overflowHidden");
						}else
						{							
							$(document.body).removeClass("overflowHidden").addClass("overflowAuto");
						}
						
						//$(document.body).css("overflow","auto");
						}else
						{
							$('.formTableBox:visible .iframe',parent.document.body).contents().find("html").removeClass("overflowHidden").addClass("overflowAuto");
							
							
						
						}
						//alert(5)
						try{
							
						tobj.scrollTop(ttop);					
						e.stopPropagation();
						}catch(a){}
						
						
						
					});
		
		
		
	 	if($.browser.msie&&$.browser.version==6.0)
		{
			//o.bgiframe();
			closeBtn.hover(function(){
				closeBtn.addClass("closeEdit_02");
			},function(){
				closeBtn.removeClass("closeEdit_02");
			});
		}
		
 }



//固定在页面底部的按钮
 function btnColumn(options){
	
			var defaults = {
			id:'btnColumn',
			list:[],//按钮list
			isAdd:false//是否追加
			
		};
		
/*
	功能:
	通过传入约定的JSON数据格式，输出后台右则内容区域固定按钮列表
	按钮list选项：
	id:(str) id
	type:(str) 按钮类型，默认为 button ，可选 submit,reset
	value:(str) 按钮文字内容	
	cls:(str)按钮样式，默认 nBtn-01
	disabled:(boolnea) 按钮是否为锁定，默认为false不锁定，true为锁定
	onclick:(str) 触法事件
	使用示例：
	var btnList=[
		{type:'submit',value:'保存',disabled:true},
		{type:'reset',value:'重置'},
		{value:'全选',onclick:'alert("测试");'}
	]
	
	btnColumn(btnList);
*/
//var settings = jQuery.extend({}, defaults, options);//合并defaults 和 options 不修改 defaults
	//alert($.isArray(settings))
	var btnbox=null;
	
	
	var id = options.id||'btnColumn';
	if($('#'+id).length>0){
		btnbox = $('#'+id);
	}else
	{
		btnbox = $('<div class="btnColumn"></div>').appendTo('body').attr('id',id);

	}
	

	$(function(){
		btnbox.btnList(options);
		
	});
	

}

function _clearSearchBox(o){
	/**
	 * 功能：内容部方法，提交给 createSearch() createSearch2() 使用，主要当搜索框切换为“精简单搜索”时复位隐藏框内容为空
	 **/
	var _textarea = $(o).parents('table:first').find('tbody textarea');
	var input = $(o).parents('table:first').find('tbody input');
	var _select = $(o).parents('table:first').find('tbody select');
	
	input.each(function(i) {
		switch(input.eq(i).attr('type')) {
			case 'text':
				input.eq(i).val('');
				break;
			case 'hidden':
				input.eq(i).val('');
				_getJQueryById(input.eq(i)).trigger("initData");
				break;
			case 'radio':
				input.eq(i).attr({'checked':false});
				break;
			case 'checkbox':
				input.eq(i).attr({'checked':false});
				break;
		}
	});
	_select.each(function(i) {
		_select.eq(i).find('option').attr('selected', false).eq(0).attr('selected', true);
	});
	_textarea.each(function(i) {
		_textarea.eq(i).val('');	
	});
}






/*
高级搜索
*/

function doTabSearch(o){
	
	var _o = $(o);
	var tbody = _o.parents('table:first').children("tbody:eq(0)");
	
	if(tbody.is(":visible")){
		_o.html('高级搜索');
		tbody.hide();
		
	}
	else
	{
		_o.html('精简搜索');
		tbody.show();
	}
		_clearSearchBox(_o);


}


/*
 * 功能：组织表切换
 * 参数className:切换DIV的class，默认'switchFtable'
 * 备注：只能俩个DIV之前互相切换，如一个DIV放列表内容，一个DIV放编辑内容
 */
function switchFtable(className){
	
	var className = className||"switchFtable";
	var divs = $("."+className);
	if(divs.length!=2){return;}
	divs.toggle();
	
}
/*
 * 功能：设置iframe的高度为内容的高度
 * 参数obj 为需要设置的iframe对象
 */
function reSizeIframe(obj){
	
	var obj = $(obj);
	
	if($(obj).is(":hidden"))
	{
		return;
		
		/*===========
			var _obj=null;
			var h =0;
			_obj =obj.clone().attr("onload","").removeClass("iframe").width($(document.body).width()-60);
			_obj.css({"position":"absolute","left":"-99999px","top":"-99999px"}).show();		
			_obj.appendTo(document.body).load(function(){
				h = $(_obj).contents().height();			
				obj.height(h);
				_obj.remove();
				}
			);
		=========*/
	}else
	{
		obj.height($(obj).contents().height());
	}	
	
}


/*
 * 功能 新组织表tab切换效果
 * 参数说明：
 * menuid为选项卡菜单容器id
 * conid为选项卡内容容器id
 * 约定：选项卡菜单由class='tabMenu-02'的标签包含着，menu 必须由li组成,内容必须由 class='tabColumn'的标签组成 内容标签是conid的子元素 html必须已经生成
 * 		默认高亮显示的菜单 li class='on' 默认不显示的内容必须隐藏 比如添加class='hide'
 * 示例：
 * html:<div class='f-tabMenu'><ul id='tabMenu'><li class='on'>tab菜单1</li><li>tab菜单2</li></ul></div>
 * 		<div id='tabCon'><div class='tabColumn'>tab内容1</div><div class='tabColumn hide'>tab内容2</div></div>
 * js:tabFuncSwh("#tabMenu","#tabCon");
 */
function tabFuncSwh(menuid,conid)
{
	var $menus = $(menuid+" li");
	var $cons = $(conid+" > .tabColumn");	
	
	$menus.click(function(){		
		$(this).addClass("on").siblings().removeClass("on");
		
		var obj = $cons.eq($(this).index());	
		
		$cons.hide();
		obj.show();
		var iframes = obj.find(".swhIframe:eq(0)");
		
		if(iframes.length>0)
		{
			iframes.height($(iframes).contents().height());
			
			var ifrs = $(".swhIframe:visible",window.parent.document);
			
			if(ifrs.length>0)
			{
				
				
				$.each(ifrs,function(i,n){
					
					$(n).height($(n).contents().height());
				});
				
			}
			
		}
		
					
	});
}


/*
 * 功能：交换TR
 * 参数srcobj 起始表格对象
 * 参数tarobj 目标表格对象
 * 示例：swtTr('#id1','#id2')
 */

function swtTr(srcobj,tarobj){
	
	var obj1 = $(srcobj);	
		
	var trs = obj1.find("tbody tr").filter(function(i,n){
		return $(n).find(":checkbox[checked='true']").length>0;
		
	});
	
		
	if(trs.length==0){return;}
	var obj2 = $(tarobj);
	var tarTbody = obj2.find("tbody");
	
	$.each(trs,function(i,n){
		$(n).find(":checkbox").attr("checked",false);
		
	});
	var _trs = trs.clone();
	tarTbody.append(_trs);
	trs.remove();
}





/*
 * 功能 新组织表tab切换效果
 * 参数说明：
 * menuid为选项卡菜单容器id
 * conid为选项卡内容容器id
 * 约定：选项卡菜单由class='tabMenu-02'的标签包含着，menu 必须由li组成,内容必须由 class='tabColumn'的标签组成 内容标签是conid的子元素 html必须已经生成
 * 		默认高亮显示的菜单 li class='on' 默认不显示的内容必须隐藏 比如添加class='hide'
 * 示例：
 * html:<div class='f-tabMenu'><ul id='tabMenu'><li class='on'>tab菜单1</li><li>tab菜单2</li></ul></div>
 * 		<div id='tabCon'><div class='tabColumn'>tab内容1</div><div class='tabColumn hide'>tab内容2</div></div>
 * js:tabFuncSwh("#tabMenu","#tabCon");
 */
function tabFuncSwh(menuid,conid)
{
	var $menus = $(menuid+" li");
	var $cons = $(conid+" > .tabColumn");	
	
	$menus.click(function(){		
		$(this).addClass("on").siblings().removeClass("on");
		
		var obj = $cons.eq($(this).index());	
		
		$cons.hide();
		obj.show();
		var iframes = obj.find(".swhIframe:eq(0)");
		
		if(iframes.length>0)
		{
			iframes.height($(iframes).contents().height());
			
			var ifrs = $(".swhIframe:visible",window.parent.document);
			
			if(ifrs.length>0)
			{
				
				
				$.each(ifrs,function(i,n){
					
					$(n).height($(n).contents().height());
				});
				
			}
			
		}
		
					
	});
}







/*
 * 功能 新组织表tab切换效果
 * 参数说明：
 * menuid为选项卡菜单容器id
 * menu2id为二级菜单容器id
 * conid为选项卡内容容器id
 * 约定：选项卡菜单由class='tabMenu-02'的标签包含着，menu 必须由li组成,内容必须由 class='tabColumn'的标签组成 内容标签是conid的子元素 html必须已经生成
 * 		默认高亮显示的菜单 li class='on' 默认不显示的内容必须隐藏 比如添加class='hide'
 * 示例：
 * html:<div class='f-tabMenu'><ul id='tabMenu'><li class='on'>tab菜单1</li><li>tab菜单2</li></ul></div>
 * 		<div id='tabCon'><div class='tabColumn'>tab内容1</div><div class='tabColumn hide'>tab内容2</div></div>
 * js:tabFuncSwh("#tabMenu","#tabCon");
 */


function tabFuncSwh2(menuid,menu2id,conid)
{
	var $menus = $(menuid+" li");	//一级菜单	
	var cobj = $(conid);//内容容器
	var cons2 = null;//二级菜单
	if(menu2id!=""){
		cons2 = $(menu2id+" > .ftable-02-tabMenu");	
		}
	


	$menus.click(function(){
		
		if($(menuid).attr("enableedit")=="yes")//判断是否可点击
		{
			
			if(cons2)
			{
				cons2.hide();
				cons2.eq($(this).index()).show();
			}
			
			
			clickli(this);

			
		}
		else
		{
			
			dopop({
				"html":$(menuid).attr('msg')||"请先保存基础信息！",
				"isMsg":"normal",
				"width":"min"
				});
		}
		
		
	});
	if(menu2id!="")
	{
		$(menu2id+" li").click(function(){
		
		if($(menuid).attr("enableedit")=="yes")//判断是否可点击
		{
			clickli(this);
		}else
		{
			dopop({
				"html":$(menuid).attr('msg')||"请先保存基础信息！",
				"isMsg":"normal",
				"width":"min"
				});
		}
		});
	
	}
	
	
	var ftable = cobj.parents('.fTable').eq(0);		
	var h=$(window).height()-parseInt(ftable.css("padding-top"))*2-10;
		
	
	var clickli = function(o){	//点击
	
		var $cons = $(conid+" > .tabColumn");	
		var li = $(o);		
		
		var lid = li.attr("id");
		var url = li.attr("url");	
		var div = null;
		
		li.addClass("on").siblings().removeClass("on");	
		
		
		var _h = h-ftable.find(".f-tabMenu").outerHeight(true);
		//alert(ftable.find(".f-tabMenu").outerHeight(true))
		//查找对应的DIV
		$cons.each(function(i,n){
			
			if($(n).attr("mid")==li.attr("id")){
				div = $(n);
				return false;
				
			}
			
			
		});
		
		//查找对应父级iframe
		var piframe =$(parent.document.body).find("iframe:visible").filter(function(i,n){
								
					var _src = $(n).attr("src");
					var _url = location.href.slice(location.href.length-_src.length);
					return _src==_url;
					
			});
		
		//如果有带url
		if(url)
		{
			if(div==null)//如果不存在对应的DIV，则创建
			{
				div = $("<div class='tabColumn hide' mid='"+lid+"'></div>").appendTo(cobj);	
				var iframe = $("<iframe>",{				
					'class':'swhIframe',
					'frameborder':0,
					'scrolling':"auto",
					'src':url
				}).appendTo(div).height(_h);
				//alert(h+":"+_h)
			}
		}
		else//不带url
		{
			if(li.parent().is('.tabColumnMenu')){//如果是第一级标签 则触发对应的二级标签的第一个标签的click事件
				
				//是否已经存在二级菜单的第一项的内容
				var hasfristcon = null;
				var _thisid2 = null;
				if(cons2){
				_thisid2 = cons2.eq($(li).index()).find("li:eq(0)").attr('id');
				}
				
				$.each($cons,function(i,n){
					
					if(_thisid2)
					{
						if($(n).attr('mid')==_thisid2)
						{
							hasfristcon=$(n);
							return false;
						}
					
					}
					
					
				});
				
				if(hasfristcon == null)
				{
					if(cons2)
					{
						cons2.eq($(li).index()).find("li:eq(0)").trigger("click");
					}
					
				}
				else
				{
					if(cons2)
					{
					cons2.eq($(li).index()).find("li.on").trigger("click");
					}
				}
				



				
			}else if(div==null)
			{
				div = $("<div class='tabColumn hide' mid='"+lid+"'><div class='pd10'>数据加载中...</div></div>").appendTo(cobj);	
			}
		}
		if(div)//如果存在对应的DIV
		{
			$cons.hide();
			div.show();	
			
			
			
			if(div.find("iframe").length>0)//如果存在iframe 把父页面的滚动条去掉
			{
				
				piframe.removeClass("overflowAuto").addClass("overflowHidden");
				$(document.body).removeClass("overflowAuto").addClass("overflowHidden");
			}
			else
			{
				piframe.removeClass("overflowHidden").addClass("overflowAuto");
				$(document.body).removeClass("overflowHidden");
			}
			
			
		}
		
		
		
		//绑定 点击返回还原父级iframe滚动条方法
	
	var _gobackLink = ftable.find(".f-tabMenu .gobackLink");
	if(_gobackLink.length>0)
	{
		if(!_gobackLink.attr("hasGogackFunc"))//是否已经绑定 点击返回还原父级iframe滚动条方法
		{
			_gobackLink.attr("hasGogackFunc","yes");
			
			_gobackLink.click(function(){
				
				piframe.removeClass("overflowHidden").addClass("overflowAuto");
				$(document.body).removeClass("overflowHidden");
			});
			
		}
	}
		
		
			
	};
	
	
	
	
}

/*
 * 功能方法:设置可以点击其它标签
 * 参数obj：jq表达式
 * 调用示例:enableEdit("#send"),enableEdit(this)
 */

function enableEdit(expr){
	
	var pmenu = $(expr).parents('.fTable :first').find(".tabColumnMenu:eq(0)");
	if(pmenu.length==0)
	{
		pmenu = $(".fTable .tabColumnMenu:eq(0)",parent.document.body);
	}
	
	
	if(pmenu.length>0)
	{
				
		pmenu.attr("enableedit","yes");
	}
}




/*
 * 功能：页面表格分页
 * 参数tbid：表格id
 * 参数pageid：分页id
 * 参数pageSize：每页显示数据条数 默认5条
 * 调用示例：uiPage('#swttb2','#uiPage')
 * 
 */

function uiPage(tbid,pageid,pageSize,showPage){
	
	var tb = $(tbid);//表格对象
	var page = $(pageid);//分页对象
	var pageSize = pageSize||5;	//每页默认5条数据
	var trs = tb.find("tbody tr");//所有数据
	var _dataLength = trs.length;//数据长度
	//总页数	
	var totalPage = _dataLength%pageSize==0?parseInt(_dataLength/pageSize,10):parseInt(_dataLength/pageSize+1,10);
	var curPage = showPage||0;//当前页
	
	
	if(!showPage)
	{
		curPage= page.attr("curpage")?parseInt(page.attr("curpage")):0;//当前页	
		curPage = isNaN(curPage)?0:curPage;
		curPage = curPage!=0?curPage:1;
	}
	curPage = curPage>totalPage?totalPage:curPage;
	page.attr("curpage",curPage);
	
	
	
	
	//显示当前页内容
	var start = (curPage-1)*pageSize;
	
	
	
	$.each(trs,function(i,n){
		
		if(i>=start&&i<(start+pageSize))
		{
			$(n).show();
		}
		else
		{
			$(n).hide();
		}
		
	});
	
	
	
	//显示分页2页以上才显示分页
	var pagehtml = [];//分页html
	pagehtml.push("<div class=pageText>已选择商品<span class=orange>"+_dataLength+"</span>件</div>");
	if(totalPage>1)
	{
		pagehtml.push("<div class='pageOp'>");
		for(var i=1;i<totalPage+1;i++)
		{
			if(i!=curPage)
			{
				pagehtml.push("<a href=\"javascript:;\" onclick=\""+"uiPage("+"\'"+tbid+"\'"+",\'"+pageid+"\',"+pageSize+","+i+")"+"\">"+i+"</a>&nbsp;");
			}
			else
			{
				pagehtml.push("<a href=javascript:; class=on style='cursor:default'>"+i+"</a>&nbsp;");
			}

		}
		pagehtml.push("</div>");
		
	}
	page.html(pagehtml.join(""));
}









